Additional refactoring (optional and questionable)