data save and reload implemented.  Some exception handling added e.g. for corrupted data