commented code and updated classes and cleaned up