Restructuring to remove VS dependency