add more guards for ask sync