add test for #1
pass test #1
ignore test for #2
add test for #3
pass test #3
add test #4 and pass #4. no implementation required.
add test for #5
pass test #5
add test for #6
pass test #6
add test for #7
pass test #7
add test for #8
fix test #8
pass test #8