vsl: refactoring