added zoom level controls
cleanup/docs
change granularity based on zoom