Generalised mean field theory of spin glasses