just read the comments, you don't have to read the code