First commit: Initial software architecture