reduce duplicate methods