Added proper comments.