add ability to calcualte how far behind a consumer is

replacing #11