[autodiscovery] moved implementation into type;