fixed new() constraint