add thenFlat Promise