refine animation nodes, but needs to refactor