clean up and better proofs