in reply to subroutine with two names
As a general principle a subroutine should only do one thing. Factor out the common code by all means, but I would still have two subroutines which call the common code. You will almost certainly be thankful for that later as the module develops.