refactor into vector type methods related with type