exploring design and architectural patterns