moved vlens to impl