refactored all code, implemented async probematch and seqmatch