yet more compact oo