Sounds interesting. I'll work it through here and you can correct any mistakes .

[edit] I made heaps and heaps of mistakes. Edited while I try again .