implemented mqpbo with new visitor