Refined movement functions