vp-framework