basic routing with tests