removed def_o macro, replaced with _new method