Problem 1 solved.
Problem 2 solved.
Problem 3 solved.
Problem 4 solved.
Problem 5 solved.
Code cleanup and better user interaction.
Problem 6 solved.