include limits.h for INT_MAX