add a description on each function