Speculation works now. Need more testing.