figuring out architecture for reset button