vsport refactored2