Extract logic to service (project)