array util implementation