supporting source arrays