suppress warnings
use pragma macro