added controller structure