commit 6 for iss1
commit 7 for iss2
commit 8 conficts test