this is the part that I don't like. express router is already doing this work at some point, why duplicating it?