Added some comments and removed pointless toString method.