if settings is nil, return an empty object