Updated traverse and check