split class into category for better readibility