added source, more introduction