introducing Software model as subclass of Model model