add new methods

  - expose invert
  - add contains
  - add has