improved caching and use subclassed Arrays for classList