map caching & json loading & minor changes