Refactor, file separation & I18n