use the common code