no errors under -Wall