Add documentation and doc strings