refactoring codes with opml file