Added toString and equals where needed