Added tons of code doc