len now size_t, and (possibly) final touches