simplified printing, add multiple notifiers, add equals methods, add more tests