added diamond operator