committing before I start implementing an inheritance hierarchy