refactored, impleemnted new class