in all cases. 

since we use data.array to put data into the underlayer array without modifying data.limit, we need to set it manually.