van implementation