use 'on' rather than 'catch'