jsrant I feel ashamed of the quality of this project but by popular request I have made its code public.