Writing the maths/physics code is the easy part, getting all the sign errors out of it is the hard part (basically my entire week).