Finished, with comments