business logic extraction