1. finish traverse method