revised version to be explicit. added publish and test scripts