implement file dialogs
closes #57