rotation logic @wip