reflection patterns
extension interface