fixed business logic