Seperate core class