Part way though Total Re-Write