use multiprocessing.pipe() instead of Queue
add solver for solver-test