better data saving with backwards compatability (needs a little more
work)