code improvement, documentations, etc