requires 3.7 (for InstanceScope.INSTANCE)