rx more refactoring