Revert "framework"

This reverts commit 9573db3e0d3e391319349aaeee51ebcae470a415.
Revert "Revert "framework""

This reverts commit b6fbe7f54a46f47d6b29fff97400fc3f562465fa.