added caching per level, text info, level chooser