+ fix some bugs and continued to move code to module architecture