directory clean
some changes for add more design patterns