update/improve design docs as background info for IO layer, see #2890