what I don't like in the base class is that it has the launch method