Feature move class

Here comes a suggestion on how the move class could be implemented. The tests are lacking a bit but not sure if there are any ones that are of value besides those that exists now.