restructure in services layer