framework: wip