Mohammad,
Thanks for separating this out from your other solutions. I believe many have asked for this over some time, and whilst there have being answers this is much clearer and made for purpose.
It is this approach to extracting algorithms form larger solutions and making them available to the community that empowers all users.
Thanks Again
Tony