pull out common code to its own module