refactor some Service issues to a ServiceManager