1. refactor directiory layout.