Abstracted Cores into their own class and readjusted other things