adds promise