rev 2000 - stable version