detect source