labels and defmacro
un-used generic function printer