renamed ReceiverBase as AbstractReceiver