Needs a bit more testing, but otherwise promising