I did some refactoring