add an extension method and tests
bug fix, avoid comparing non-number fields
use gap mapping in config file