integrating some stuff from 'language'