move hybrid to a separate module