Rotation working, but needs refinement