refactoring all file in weapon folder and vue folder