performance overhaul by caching column tables and adding non querying save methods