It was written in-place for the conference but it should be reviewed, abstracted and added to this framework instead