added movement functions