exposed functions to other packages.