handle zero values better
speed up animation