broadcast implemented.
Next: test, merge add methods, make constructor call parametrized