update gitignore
add comments to explain methods