reduce some dependency