Work below was for educational purposes.