factored out contact storage