Tidied up controller structure