add `remove`; alter `lookup` so substring optional