first commit: support bcadd, bcsub