improved SObject