another step from inheritance to composition, no need for Copyable now