refactored controller direct model calls with a model service layer