improved array init