added reset functionality, added java doc stuff, and changed name