add comments
fix jshint
fix conflict