code refactoring and decoupling for components standalone usage possibilities.