correct some business logic