add auto-updating (wip)