virtual crud