reorganized datum source functions