better add_settings implementation
removed pointers class