final revised version