Slow, but at least it works