consider switching back to composition-over-inheritance ...