improvement doClick