new feature: desc

merge from desc branch