major new refactoring
more refactoring
more globe oriented
more little fixes
Updating dependencies