- updated the rest of behavioral patterns
- made small changes to factory implementations