The controller layer