Somebody came up with a really clever solution to this problem, it just needs to be fleshed out and implemented