listeners + bubble maker implemented