implemented basic open/save functionality