doc
refactoring
doc fix
constructor refactoring