https://1library.net/document/lq5l8mgz-hooker-s-ideal-code-and-the-sacrifice-problem.html