updated promise to use late bind method