removed id as an optional initialization argument