refactoring: extract interface from common service layer, moved methods, extracted methods to improve reading