Minor changes to core classes. Fleshing out some implementations