refactored assign service method, naming can be improved, but at 22pm and after a long day cannot do better