refactor ctrls