enhanced gc

now we can store consumers as integers so that it eats less memory and cpu