vector lib prototype