1. refine file organizations; 2. add ItemFactory UML diagram