Restructured Architecture

Divided the software into a 3-tier software architecture featuring 3
packages: UI, Technical, and Domain.