Source: https://paginas.fe.up.pt/~lepabe/publicacoes_restritas/papers/PaperWBP3.pdf