Documentation, core refactoring and removed excessive classes