more typing, and change implements to route base.