extract matcher
issue#2
issue#9: Java 8 is used
issue#9: use lambdas