Everything is completed except for resetValues()