better naming, and exposing only the router