added a constructor