(hopefully) final revision