refactoring wrapper, also silent warining