starting to add file io functionality