implemented soft vq