Used properties instead of methods in Position
Did some refactoring and fixed the algorithm

The algorithm wasn't extending right all the way

Moved Move.d and Position.d into their own files