Re-name outer to spread. Accept inner, outer, or outer2