https://blogs.perl.org/users/byterock/fig03b.jpg