Added Ether class, little refactoring and header mess fixing