give up g_array because memory leak, change to use fix size array