further refactoring, frequency adjuster