Added router, abstract classes and plugin class.