Updated serialization to not repeat, check for invalid props