new plugin api, cleaned up cache, better cache options, various other stuff