make `new` optional.
Merge pull request #11 from Raynos/patch-2

make `new` optional.