rotator -> box refactor