think about structure for save and manipulation