pattern design:simple facotry