language api improvements