more general animation design