changed user_input to allow null updates for some fields