add: exclude  start and end from obstacles
add: BFS solution and refactoration