implemention viction