adding obstacle handling + refactored some bits of the code
adding obstacle detection test cases + one additional case for wrapping