https://medium.com/@adityasingh22/how-to-build-an-end-to-end-machine-learning-application-40cd6ac7f66f