add promise style to auth