make interacting with files work universally