changes to pin_controller