this function doesn't actually need to be exported