tried to keep Node clean of layout. Failed.
refactored. lools better. compiles. not tested.