added saving and loading data from plist as well as more refactoring