more complete datasrc lib; a lot is missing still