Redesign framework and pass all tests.