why it is global? it just leak implementation detail where is file to rest of world and I don't see reason.