Add comment and refactoring + documents