Revamped the whole pattern matching section in Expressions