The Three UK deal is better, or if 1gb is ok these are far cheaper (£100 to be exact).
£31.00 £149.99 24 Months Unlimited Unlimited 1GB = £894
£26.00 £249.99 24 Months Unlimited Unlimited 1GB = £874
There is also Cashback of £50.50 available on o2 if you go through a cashback site. I could also get O2 30% discount on a entire contract which reduces the price to £740 (£41, £50 phone, same 2gb) but i'm not a huge fan of o2 as I am experiencing now. V poor signal where i am