renamed uP to micropromise due to issues with npm