*: add framework interface