solid object class: basics are functional