save() nested objects

resolves #2