refactoring for bass support