Add comment & rename some function