modified unbounded_id_generator such that strong guarentee holds; and minor changes