make many changes

now the system have the basic archtecture
Merge remote-tracking branch 'origin/feature'