Few changes
Almost complete refactoring