add openfile feature