Added a bunch of docstrings.
Also, merged the visa functions into one for simplicity.