moved business logic method out of deal