prepare service refactoring