why is the listener so fucking bullshit, it is a function derp