speed up 3 times, NSArray is too slow