added some todo, and API diagram