Now works with abstracted controller and model