refactored van