added pattern matching
adding edit
merged branches