arrayaccess implementation