Guess what... some more refactoring