modify and add new socketopt