tmp support promises