rework main model 
add adding and remove functionality