refactored Helper and Controler