merge BaseRouter and BlockingRouter; fix tests refs #251