New version

New version and some improvements,
Preparation for MVVM