more work on proof