introduced arrayable interface