core classes.