implemented open, save and save as