Started refactoring and creating components.