Updates and refactoting dependencies