better cam move logic