Includes all physics - needs commenting and checking for correctness