big reword and remove old code