add hard reset support