more structure and todo