Business logic layer