https://link.springer.com/article/10.1007/s10823-020-09419-3