Heavily revised version of slattach from combined work of many people,