using addInternal instead of add for array builder