added barebones implementation of the Router