I think I did this right, still needs box2D implementation.