refactored bdls more