fixed modules dependencies.
few unit tests has been added to impl module.