Initial commit. Basic architecture.