refactor
refactor: composition over inheritance