https://cdanielaam.medium.com/inside-the-convolution-building-a-convolution-layer-using-numpy-arrays-ec1582549f0f