internal functions in core library too