added properties and proofs