array extentions complete