implement move helper and direction