BT: refactor