(nearly) final version