Factory Method 추가