simplified constructor