Hexagonal Architecture1