add: better catching