saving elements is getting hacky and gross. Much debugging to do I'm certain.