Improved documentation (still pretty shitty)