creating hybrid software