Neural Network from scratch-part 1