revised version 1.0