fix support for native promises