persist data now stores entire struct