up the strictness of compiler, and fix warnings.