add array interface. fix issues in builder