Add pattern creational factory method