Much slower implementation of vcontext, but it has the added benefit of actually working