wrap the list in a class
added file io