clockwork: return interface, not pointer