use 'on' to subscribe to input
wrap in require