avoid calling `animate` all the time, saving the CPU significantly