fix(tools/basic): separate each module out of big type file

finally better to maintain separate files...