Tiny bug fix to free variables
Added some pattern matching features, worked on normal pattern matching.