Final Program with Comments