fix a constructor bug