Moved some stuff around and added a new class