added support for custom animation timing