Add MLCVNC prototype
Rearrage the architecture to avoid C++ narrowing problem