now handling MapWritableArrayWritable as input