added source and examples