still needs to be attached as a listener in the init method