new rotary impl