Finished refractoring, commenting and documenting most of my code.