Throw NoMatchException when no match is found
Added optional token flags
Added filter system