continuing to flesh out core classes