implement interface for arrayaccess