using -Wall -Werror