add blocking array support