Improved animate component