Mostly Refactoring and renaming, discarded few redudant clasess