Closes #9: added safer destroy and reset func