add comments and lint