pass this as the listen argument instead of using self (for this and the others above/below)