package changed
package reconstructed (still has errors)
Add comments & reorganize classes