add array support and build