implemented language editor functionality