add synchronous response support