removed poorly though structure and added controller