move transfer logic out of project to service