Fleshing out core objects

Fleshing out the core objects so I can write test code. Let me know if there are any options I missed that are needed.