refactoring
separate service contract objects