update reset()
add comments