Many changes, hopefully working edition