Add documentations and fix indentation.