reorganize and add todo controller