https://influentcoder.com/posts/backwards-comp/