added file chooser function