changed Factory
check base