need to rethink producers/consumers