improve add_if_not_current