code is ready to go for publication
final update for publication