Updated euler_method