adding mpromise dependency