make the language box toggle by language, each language also knows its own max lines, refactor