make this function static so it doesn't leak outside the scope of this file.