maybe used 0 instead of (int)NULL