Rework the architecture to make better and concise.