refactoring to make rpm use less specific