added contacts and gravity, reset position and recalculate