hid a function ment to be used internally