refactored and dependecy updates