added optional to avoid null foo
renamed sendInterval to readInterval