modified controler and other classes