added trait 2d