needs stdio.h for EOF