[REFACTOR] change the files dramatically