refactored moves etc..