-snip-(Removed due to lack of time to do this)