reduce some duplication