vsport refactored