Thames Water achieve record £590m profit