added a "Core" component to the classes and moved some stuff up to core