process optional arrays