rework the route/controller system. still not ready yet. needs tests, and examples ported. pushing to have a backup