Structure refactore and vendor update