Refactoring, add some pics