Add tons of docs and comments