Rewrote the doc strings