syntactic refactoring