building a constructor