refactored BA bot