simplify logic, fix extras handling when sending.

also handle the case where there might be multiple types of extras.