support browsers not supoorting Promise