implement vec