#5, #60, #62, move Atom to AtomNode, remove gradient caching