added Array smart methods