switch archetypes to a capability-driven approach for better extensibility