Fixed the main issue and some of the detailed questions based on last comment. Still working on other details.
2nd draft
1st draft