refactor & added beginnings for routing.  No view logic yet.