more structure and router