implement reboot()