propagation of the error gradient is now optional
minor cleanup
some doc and alignment of the naming