Re-doing most of the language