Seems to be complete, but its slow.
Fixed custom futures to be quick like a cat