some serious work on subs/make* left in false starts for posterirty