add languages dynamically, cleaned up code, add random language input