Some refactoring...
Refcatoring