added -Wall and -Werror to compile strictness