rearranged code for ask reason