documentation for each function added