add comments, fix init