refactored to allow for easier overriding of defaults AND to cover an edge case where a user may need to include nested objects in the defaults
typo fix