Migrate some cleanup into the 2d code
Return to the orginal static potential approach, which seems to be the best