small methods to serialize data
don't add circular references to the data