I did some refactoring...