changes name files and some logic + tests