added pattern matcher
wip
LPUSH -> RPUSH
refactoring