Complete refactoring of code

Refactoring, cleaning code base
Fixing a bug with detail view
Updating changelog
Updating changelog