treating warnings as errors