tighten error checking with -Wall -Werror