Move moveWithFunction into move

Yea lots of move :)