pattern design:factory method