modified listeners to use typing