Some more work; Still incomplete.