add reset button, begin rethink of refactor