modified the 'defs' and 'uses' utilities to accept a pattern