revised arm_controller