somewhat successful experiments in constructing a new class in a macro