clean up inheritance vs. composition