need stdlib.h for abort