initial generic animation system