including <unistd.h> for sysconf