including an option to let you keep the old value (keep_default)