Exercise 5-3
(2 types of factory method implemented)