Wow. You must of spent alot of time and effort doing this!
Kudos to you!