add expression parser to allow for complex string matching