minimize ctrl logic with services