Adding more thorough documentation