updates to the component design; autosave impl