added animation engine and deferred logic