- Some refactoring and updating