API extensions (copy and set_source)