class-based schema