finish half of assignment3
complete BM
final version
Merge branch 'assignment3'