more consistent object structure