working queue passing. need to do threading somehow
merge