trail implemented