Separated most modules in different files