support null parameter