updated with array handle