fixed, with docs!