refactor bid spec