net splitting/merging when moving components around implemented.  still needs major cleanup and testing.