Mostly done but refinements in progress