added promise states