playing around with metaclasses