Refactoring and adding features
Refactoring and adding features