rewrote documentation