moved virtual + presplitting stuff into separate file