changed the inheritance in favor of composition