adding a bunch of refactoring cases