some refactoring work moving "biz logic" out of controller and into services