factory and animation