moves only
moves only
tidied up