started refactoring and updated dependencies