rewrote wevalgraph for better frontend/backend separation