Added template caching, added config file, changed how the initializing function works with getting the geolocation, added a bunch of comments