* add fixes * more changes * simplify the solution * add shuffle * remove prom metric * add to mock * go doc * use non default source * add test * terence's review * all tests passing