add array code generation