FINAL! Included most of the Jay's comments which were overwritten accidently