Going to be a ton of work to make this a robust framework  but it'll happen