add rule and smartlink factory
add smartLink service. Refactoring code