first-level caching on Languages/Exercises to try and speed up setup page
refactoring
refactoring
refactoring