remove dup code by changing some fields to protected in PathAlias then subclassing it