add some notes
effective programming