start work on sms$reduce
more work on sms$reduce
update TODO