Document should always be passed by reference