Added comments and cleaned up some code.