refactoring and Diff21 kata