Refactored package structure into one package for each layer.