supports ensuring the input object itself