updated structure and controllers