implement vector, rearrange files