added 2d component option