cleaner open file that is relative by default (HT: robertzk)