a few factor (the language) functions