https://dev.to/berkan_sesen/backpropagation-demystified-neural-nets-from-first-principles-4303