https://www.rally-co.ca/post/kne-v-complexity