try to dynamic detect.