call reset whenever you getnext()