besides interactive points addressed.

denis feel free to take over you know this code much better.