updated cycamore to match model as a virtual base class