only update needed columns when saving to database