account for attributes when updating