added hard reset functionality