software designing and programming with reflexion and passion