Change timer.start() to timer.restart() in restart() method