add ScheduledReader, move ScheduledReceiver