David Bernadett -- Added tons of comments!