handle defaults for optional fields
more tests