refactoring csb interface