add documentation to most as of yet undocumented functions