Programming Machine Learning: MNIST benchmark for multi-layer networks