Made some classes abstract so you cant instanciate them