support user-defined promise factory
0.0.2