primitive array support complete