use NSInteger instead of int.