finished creational design pattern