added broadcasting
cleaning up