todo add arraytype