introduce at the first time
host exit, client will be forced to exit
merged from master