business logic frustrations