using multiprocessing.Queue to handle reads

and started writing tests