[VP] refactored