added some comments
tried to improve gitignore