setTimeout is not the right way