ENH: many updates