more complete dialog flow