new version with comments