Feat/physics

Closes #6 and #4. Code is still pretty messy but can be shortened and refactored later. (7 commits; no rebase once again. Should I in future and pull request on a single commit?)