add function: restart
add function: reconnect