refactoring for meta techniques