added some source files and some module logic