Work on re-write