modularized all the files