a framework that I've worked on with some of my colleagues :)