implement save, delete and therefore rewrite
use the set-at-a-time thinking, so special cases are just handled automatically!