Add documentation to all the stuffs