add metaclass practice