You know how I feel about refactoring :D