move `framework` into `contrib` as extensions