another checkpoint commit. now mostly using a Body trait. simulation probably doesnt work
move simulation loop code into a separate function