update to source functions