added descriptions to each function