#14 change composite to inheriting