some more data plumbing functions defined