add Router and Routable

Merge it, please!
And on the class doc, the authorships