refactoring, and whitebox framework