final version as presented