written by BT