New version, with comments