more comments
change default ctor value to avoid bad derivative