english version with comments