Change directory structure
Design patterns