creational design patterns completed