vcm implementation