add leaflet-hash
cleanup
split off js code, jshint