Further reorganize and add some tiny templates