https://www.andreas-l-berg.com/blog/symmetry/
symmetry