musashibg's solution

Hello, I have implemented my solution and it is now ready to be pulled to the main repository.