improved array support