v3

just finish adding comments and submit