first pass at port of BeamNode, some bugs