Modifications requested by charles, didnt do michael's comments about the redundant lemmas