flushing out the models, services and controllers a bit more