Please add some comments and critque.