add VLAD coding and refactor files